package com.liuyi.netty.im.lychat.modular.enums;

import cn.hutool.core.util.EnumUtil;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.liuyi.netty.im.commons.codes.CodeConst;
import com.liuyi.rapid.develop.tool.kit.EnumsKits;
import lombok.Getter;

/**
 * @author Mr.Fmy
 * @since 2021/12/30
 */
@Getter
public enum MessageType implements EnumsKits.IWEnum<Integer> {

    /**
     * 文本
     */
    TEXT(0, "文本"),
    /**
     * 图片
     */
    IMAGE(1, "图片"),
    /**
     * 视频
     */
    VIDEO(2, "视频"),
    /**
     * 语音
     */
    VOICE(3, "语音"),
    /**
     * 群@消息
     */
    GROUP_ALT(4, "群@消息"),
    /**
     * 群系统消息
     */
    GROUP_SYS(5, "群系统消息"),
    /**
     * 群提示消息
     */
    GROUP_HINT(6, "群提示消息");

    @EnumValue
    private final Integer v;
    private final String d;

    MessageType(Integer v, String d) {
        this.v = v;
        this.d = d;
    }

    public CodeConst.MsgType msgType() {
        return EnumUtil.fromString(CodeConst.MsgType.class, this.name());
    }
}
